#include <string>
#include <iostream>
#include "graph.hpp"
using namespace std;

int main() {
    int n = 8;
    string vertexs[] = {"1", "2", "3", "4", "5", "6", "7", "8"};
    Graph *graph = new Graph(n);
    for (int i = 0; i < n; i++)
        graph->insert_vertex(vertexs[i]);
    
    graph->insert_edge(0, 1, 1);
    graph->insert_edge(0, 2, 1);
    graph->insert_edge(1, 3, 1);
    graph->insert_edge(1, 4, 1);
    graph->insert_edge(3, 7, 1);
    graph->insert_edge(4, 7, 1);
    graph->insert_edge(2, 5, 1);
    graph->insert_edge(2, 6, 1);
    graph->insert_edge(5, 6, 1);

    graph->show();

    cout << graph->size() << endl;

    graph->traverse_dfs();
    graph->traverse_bfs();
}